#ifndef BYTEPLOT_H
#define BYTEPLOT_H

//#include <QtGui/QWidget>
#include <QtGui/QMainWindow>
#include <QTextEdit>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QPushButton>
#include <QTcpSocket>
#include <QTableWidget>
#include <QDockWidget>
#include <QTabBar>
#include "qconnectionwidget.h"
#include "qterminalwidget.h"
#include "qparserwidget.h"
#include "plot.h"
#include "qplotsettings.h"

enum scopeState{NONE, CONNECTED};

//class byteplot : public QWidget
class byteplot : public QMainWindow
{
    Q_OBJECT

public:
    byteplot(QWidget *parent = 0);
    ~byteplot();

    QConnectionWidget *connectionWidget;
    QTerminalWidget *terminalWidget;
  //  QDataWidget *sourceWidget;
    QParserWidget *parserWidget;
    QPlotSettings *plotsetsWidget;
    Plot *plotWidget;
    QStatusBar *statusBar;

    // Dock Widgets:
    QDockWidget *connectionDock;
    QDockWidget *terminalDock;
    QDockWidget *parserDock;
    QDockWidget *plotsetsDock;

public slots:
    void recBytes(QByteArray);
    void connectionChanged(bool);

private:
    // Actions:
    QAction *exitAct;

    scopeState currentState;
    void createDocks();
    void createMenus();
    void createConnections();

private slots:

};

#endif // BYTEPLOT_H
